# Drivers

Starting driver provide a programming abstraction for hardware peripherals.
Some driver implementations are builtin (written C),
while others can be contributed as DeviceScript packages.

```ts
import { gpio } from "@devicescript/core"
import { startButton } from "@devicescript/servers"

const buttonA = startButton({
    pin: gpio(2),
})
```

You can find the list of servers in the table of contents.

## Jacdac

DeviceScript supports Jacdac modules out of the box.
See [Jacdac Device Catalog](https://microsoft.github.io/jacdac-docs/devices/).
